1. Field of the Invention
The present invention relates generally to an apparatus and method for correcting errors in a Multiple-Input Multiple-Output (MIMO) communication system, and in particular, to an apparatus and method for performing Forward Error Correction (FEC) using a turbo code.
2. Description of the Related Art
A MIMO communication system, in which a transmitter and a receiver each use multiple antennas, can increase channel transmission capacity in proportion to the number of antennas without additional allocation of frequency or transmission power, compared to the single-antenna system.
The most general reception method of the MIMO system includes a Bell Labs Layered Space-Time (BLAST) technique, and in order to approach the theoretical maximum capacity, or Shannon capacity, no error should occur in an interference cancellation process. Actually, however, because errors may inevitably occur, the system should use the BLAST technique, a Coding technique, and an Iteration technique of the two techniques to approach the theoretical maximum capacity, i.e. the Shannon capacity.
Recently, an Iterative Detection and Decoding (IDD) scheme, in which a turbo theory is applied to a MIMO detector, is attracting public attention, and intensive research thereon is being conducted. In MIMO, the Iteration technique is called ‘Turbo-BLAST’, as it is similar to a turbo decoding scheme.
The Turbo-BLAST scheme, by design, considers a MIMO detector as one coder, and concatenates a channel coder and a MIMO detector. By applying an output of the MIMO detector to a channel decoder and feeding reliability information of bits decoded in the channel decoder back to the MIMO detector, the Turbo-BLAST scheme generates correct coded bit information at the MIMO detector. The MIMO detector has a structure of iterating this process.
A signal received at a reception antenna undergoes Fast Fourier Transform (FFT), and the MIMO detector generates soft decision information of the received transmission signal and transfers the generated soft decision information to the channel decoder. The channel decoder calculates a soft decision value for each bit by using the soft decision information as a-priori information. The soft decision value calculated in the channel decoder is fed back to the MIMO detector, and used as a-priori information of the MIMO detector. By iterating this process, a receiver can increase reliability of received bits, thereby showing performance approaching the Shannon capacity. An increase in the iteration of the MIMO detector and channel decoder operations contributes to an increase of the system performance, but causes an increase in the hardware complexity and time delay.
Generally, because stopping Turbo-BLAST is similar to stopping turbo decoding, a turbo decoding stopping technique will first be described herein.
In the turbo decoding process, an iterative decoding stopping criterion for iterative decoding should satisfy Condition 1 below.Condition 1: iterative decoding stops when M(i)>T(i) or M(i)=T(i).
In Condition 1, M(i) denotes a measure indicating turbo decoding frame performance measured for decoding stopping in an ith iterative decoding process, and T(i) denotes a threshold for a measure, based on which it is possible to determine that there is no error for a frame decoded in an ith iterative decoding process. In each decoding process, the measure M(i) is compared with a preset threshold, or the threshold T(i) determined in the iterative decoding process, and as a result of the comparison, if Condition 1 is satisfied, decoding is stopped at the corresponding iterative decoding. In the following description, a process of performing decoding sequentially through two Soft-Input Soft-Output (SISO) decoders constituting the turbo decoder, i.e. through a first SISO decoder and a second SISO decoder, is defined as ‘one-iteration decoding’. That is, a process of performing decoding through any one of the first SISO decoder and the second SISO decoder is 0.5-iteration decoding.
A description will now be made of schemes based on the stopping criteria for the iterative decoding, proposed up to now.
(1) Genie-aided Stopping Criterion Scheme
In the Genie-aided Stopping Criterion scheme, Genie, a kind of a simulator, compares an information codeword decoded in an arbitrary SISO decoder with transmitted information while observing an iterative decoding process of the turbo decoder, and stops decoding if no error is detected. Because this decoding stopping scheme is available only with experimental simulation, its actual realization is impossible. Therefore, the Genie-aided Stopping Criterion scheme is applied only as a criterion that schemes using other stopping criteria should ideally realize.
The Genie-aided Stopping Criterion scheme can be expressed as Condition 2.Condition 2: iterative decoding stops when M(i)=T(i).
In Condition 2, however, a measure M(i) indicates the number of different bits between a decoded frame detected in a SISO decoder in an ith iterative decoding process and a transmitted frame, and a threshold T(i) is 0.
(2) CRC Check Stopping Criterion Scheme
Generally, in a Code Division Multiple Access (CDMA) mobile communication system, a frame input to a turbo coder includes a Cyclic Redundancy Check (CRC) bit(s) for error detection so that the turbo decoder can decode it and then report error occurrence/non-occurrence for the corresponding frame to an upper layer. A capability of detecting error occurrence/non-occurrence for the frame with the CRC bit can also be used as a stopping criterion of the turbo decoder. That is, for an arbitrary frame input to the turbo decoder, the scheme detects an error through a CRC process in an iterative decoding process, and stops the decoding process if no error is detected.
The CRC stopping criterion scheme can be expressed as Condition 3.Condition 3: iterative decoding stops when M(i)=T(i).
In Condition 3, however, a measure M(i) indicates a CRC check result on a decoded frame detected in a SISO decoder in an ith iterative decoding process, and a threshold T(i) is 0.
However, the CRC stopping criterion scheme suffers from overhead caused by a CRC bit at every frame, and when there is no CRC bit in a frame input by means of frame division in a decoding process, it is not possible to decode the corresponding frame using the CRC stopping criterion scheme. For example, in a Universal Mobile Telecommunication System (UMTS)-based High Speed Downlink Packet Access (HSDPA) communication system in which there are more than two code units, it is general that when the turbo decoding is performed on an arbitrary code unit, there is not always a CRC bit to be used for the CRC stopping criterion scheme.
(3) Approximated Cross Entropy Stopping Criterion Scheme
Generally, a Cross Entropy (CE) between two probability distributions can be used as a measure indicating probabilistic closeness between the two probability distributions. Hagenauer has defined and simplified a cross entropy between probability distributions of outputs of two SISO decoders using reliability, or Log Likelihood Ratio (LLR), and has defined it as a measure to be applied to a stopping criterion of the turbo decoder. This scheme stops decoding if the measure decreases step by step and thus, it is determined that a probabilistic closeness output from the SISO decoder is very high.
The Approximated Cross Entropy Stopping Criterion scheme can be expressed as Condition 4.Condition 4: iterative decoding stops when M(i)<T(i).
Condition 4, however, M(i) indicates a measure
      M    ⁡          (      i      )        =            ∑      k        ⁢                                                                                L                1                                  (                  i                  )                                            ⁡                              (                                  u                  k                                )                                      -                                          L                2                                  (                                      i                    -                    1                                    )                                            ⁡                              (                                  u                  k                                )                                                              2                    exp        ⁡                  (                                                                L                2                                  (                                      i                    -                    1                                    )                                            ⁡                              (                                  u                  k                                )                                                          )                    in a first SISO decoder, or a measure
      M    ⁡          (      i      )        =            ∑      k        ⁢                                                                                L                2                                  (                  i                  )                                            ⁡                              (                                  u                  k                                )                                      -                                          L                1                                  (                  i                  )                                            ⁡                              (                                  u                  k                                )                                                              2                    exp        ⁡                  (                                                                L                1                                  (                  i                  )                                            ⁡                              (                                  u                  k                                )                                                          )                    in a second SISO decoder, and a threshold T(i) is T(10−2˜10−4).
However, the Approximated Cross Entropy Stopping Criterion scheme should perform an exp(*) operation separately for each SISO decoder to set a criterion in each iterative decoding process, and the hardware complexity increases due to the exp(*) operation.
(4) Hard Decision-aided (HDA) Stopping Criterion Scheme
The Hard Decision-Aided Stopping Criterion scheme compares output information codewords of two SISO decoders in an arbitrary iterative decoding process, and stops the protection when there is no difference between the information codewords output from the two SISO decoders as a result of the comparison.
The Hard Decision-Aided Stopping Criterion scheme can be expressed as Condition 5.Condition 5: iterative decoding stops when M(i)=T(i).
In Condition 5, however, a measure M(i) indicates the number of different bits between a decoded information frame detected in an ith iterative decoding process and a decoded information frame detected in an (i−0.5)th iterative decoding process, and a threshold T(i) is ‘0’.
Because the Hard Decision-Aided Stopping Criterion scheme should compare an information codeword output of a previous SISO decoder with an information codeword output of a current SISO decoder, it should include an additional memory for storing an information codeword of the previous SISO decoder during hardware implementation.
(5) Minimum Absolute LLR (MAL) Stopping Criterion Scheme
The Minimum Absolute LLR Stopping Criterion scheme considers an approximation process of Equation (1) at a measure applied in the approximated cross entropy stopping criterion proposed by Hagenauer.
                                          ∑            k                    ⁢                                                                                                          Le                    v                                          (                      i                      )                                                        ⁡                                      (                                                                  u                        ^                                            k                                        )                                                                              2                                      exp              ⁡                              (                                                                                              L                      v                                              (                        i                        )                                                              ⁡                                          (                                                                        u                          ^                                                k                                            )                                                                                        )                                                    ≈                  K          ·                      exp            ⁡                          (                              -                                                      min                    k                                    ⁢                                      (                                                                                                                  L                          v                                                      (                            i                            )                                                                          ⁡                                                  (                                                                                    u                              ^                                                        k                                                    )                                                                                                            )                                                              )                                                          (        1        )            
Using the approximation process of Equation (1), a Minimum Absolute LLR Stopping Criterion scheme of Condition 6 has been proposed.Condition 6: iterative decoding stops when M(i)>T1(i) and M(i)>T2(i).
In Condition 6, a measure M(i) indicates
      M    ⁡          (      i      )        =            min      k        ⁢          (                                            L            v                          (              i              )                                ⁡                      (                                          u                ^                            k                        )                                      )      at a vth SISO decoder in an ith iterative decoding process, a first threshold T1(i) is
                    T        1            ⁡              (        i        )              =                            min                      j            <            i                          ⁢                  M          ⁡                      (            j            )                              +              T        f              ,and a second threshold T2(i) is T2(i)=M1+Td.
As a result, the Minimum Absolute LLR Stopping Criterion scheme sets an LLR whose absolute value is minimum, among output LLR information of an arbitrary SISO decoder, as a measure of a stopping criterion, and uses the set measure as a current threshold in a previous iterative decoding process. Although the foregoing Approximated Cross Entropy Stopping Criterion scheme and the Hard Decision-Aided Stopping Criterion scheme both have used the information detected by two SISO decoders for the stopping criterion, the Minimum Absolute LLR Stopping Criterion scheme can stop iterative decoding only with the information detectable by the current SISO decoder. However, because the Minimum Absolute LLR Stopping Criterion scheme stops iterative decoding only with the information detected by the current SISO decoder other than the two SISO decoders, it may suffer from performance degradation in terms of a Frame Error Rate (FER). In order to minimize the possible FER performance degradation, the Minimum Absolute LLR Stopping Criterion scheme detects Tf and Td considered when setting the first threshold T1(i) and the second threshold T2(i), using the experimental simulation results.
In order to reduce frame size or performance independency for a Signal-to-Noise Ratio (SNR), the Minimum Absolute LLR Stopping Criterion scheme can adaptively apply the thresholds. In this case where the thresholds are adaptively applied, the scheme can prevent the FER performance degradation, but may suffer from an increase in the average number of iterations.
(6) Sign Difference Ratio (SDR) Stopping Criterion Scheme
The foregoing Hard Decision-Aided Stopping Criterion scheme should compare information codewords output from a first SISO decoder and a second SISO decoder of the turbo decoder at every 0.5-iteration decoding process. Thus, this scheme should previously store an output information codeword of a previous SISO decoder at a decoding end time of the current SISO decoder. Therefore, application of the Hard Decision-Aided Stopping Criterion scheme needs additional hardware implementation of a memory. A scheme proposed for the additional hardware implementation of a memory is the Sign Difference Ratio Stopping Criterion scheme. This scheme, instead of comparing an output information codeword of the current SISO decoder with an output information codeword of the previous SISO decoder, compares all signs of input a-priori information and output extrinsic information for the current frame of one SISO decoder, and stops decoding according to the number of bits having different signs.
The Sign Difference Ratio Stopping Criterion scheme can be expressed as Condition 7.Condition 7: iterative decoding stops when M(i)<T(i).
In Condition 7, a measure M(i) indicates the number of different signs between input a-priori information and output extrinsic information for an information frame decoded by a SISO decoder in an ith iterative decoding process, and threshold T(i) is p.
In the Sign Difference Ratio Stopping Criterion scheme, because the input a-priori information and the output extrinsic information are converged slowly compared to the LLR information, the average number of iterations in the Sign Difference Ratio Stopping Criterion scheme with p=0 is greater than the average number of iterations in the Hard Decision-Aided Stopping Criterion scheme. If the value p used as a threshold is increased to solve the problem that the Sign Difference Ratio Stopping Criterion scheme is greater than the Hard Decision-Aided Stopping Criterion scheme in the average number of iterations, the Sign Difference Ratio Stopping Criterion scheme can reduce the average number of iterations, but may suffer from FER performance degradation.
As described above, most conventional stopping techniques are low in reliability, so the highest-reliability CRC technique for iterative decoding stopping is generally used. However, in a Wireless Broadband (WiBro) system, one burst includes several coding blocks but the CRC technique is achieved in units of bursts. Therefore, the WiBro system cannot use the CRC technique for each coding block.